package com.qijian.maindata.domain.query;


import com.baomidou.mybatisplus.annotation.TableName;
import com.qijian.common.utils.mybatis.WhereType;
import com.qijian.common.utils.mybatis.WhereTypeEnum;
import lombok.Data;
import lombok.ToString;

import java.util.Date;
import java.util.List;
import java.util.Set;


/**
 * 台账-工具对象 查询条件类
 *
 * @author qijian
 * @date 2024-05-07
 */

@Data
@ToString
@TableName("main_ledger_tools")
public class LedgerToolsQuery {

    @WhereType(filed = "id")
    private Long id;
    @WhereType(filed = "id", type = WhereTypeEnum.IN)
    private Set<Long> ids;
    @WhereType(filed = "factory_area_id")
    private Long factoryAreaId;
    @WhereType(filed = "factory_area",type = WhereTypeEnum.LIKE)
    private String factoryArea;
    @WhereType(filed = "tool_code",type = WhereTypeEnum.LIKE)
    private String toolCode;
    @WhereType(filed = "tool_name",type = WhereTypeEnum.LIKE)
    private String toolName;
    @WhereType(filed = "spec",type = WhereTypeEnum.LIKE)
    private String spec;
    @WhereType(filed = "use_dept_id")
    private Long useDeptId;
    @WhereType(filed = "use_dept_name",type = WhereTypeEnum.LIKE)
    private String useDeptName;
    @WhereType(filed = "remark",type = WhereTypeEnum.LIKE)
    private String remark;

    @WhereType(filed = "create_by",type = WhereTypeEnum.LIKE)
    private String createBy;


    @WhereType(fields={"main_ledger_tools.factory_area",
            "main_ledger_tools.tool_code",
            "main_ledger_tools.tool_name",
            "main_ledger_tools.spec",
            "main_ledger_tools.use_dept_name",
            "main_ledger_tools.remark"
    },type = WhereTypeEnum.LIKE)
    private String condition;

    @WhereType(filed = "factory_area_id")
    private Long itemClassifyId;

    //排序
    @WhereType(filed = "update_time",sort = true,type = WhereTypeEnum.DESC)
    private Date updateTime;

    //时间查询
    @WhereType(filed = "create_time",type = WhereTypeEnum.BETWEEN)
    private String[] createTime;

}
